以下是加強且完整的鐵人賽技術報告,含理論背景與實作詳細步驟,包含安裝環境、Qiskit 量子電路示範與 PQC 加密原理與實務,確保內容豐富且連貫,方便你直接作為競賽文檔或簡報使用。
隨著即將到來的量子計算大爆發,傳統數位世界的加密基石——RSA、ECC 等非對稱加密演算法正面臨前所未有的破解威脅。量子電腦強大的運算能力能在數秒內破解原本需數百年才能完成的數學難題。因此,研發能抵抗量子電腦攻擊的加密技術成為全球資安的頭等大事。
後量子密碼(PQC)和量子密碼(Quantum Cryptography)正是現今科技界最前沿的研究方向,我們的任務是借助先進的工具與開源環境,落實這些理論於實作,提升未來資安防線的韌性。
打開JapterLab2的虛擬程式
bash
conda create -n pqc_env python=3.10
conda activate pqc_env
在虛擬環境中安裝所需套件:
bash
conda install -c conda-forge qiskit qiskit-aer
pip install kyber-py
啟動 Jupyter Notebook 進行實驗:
bash
conda install notebook
jupyter notebook
(只能說這個虛擬機有救了我!他是以網頁本機端方式呈現!所以架設環境沒有那麼嚴格,動動手指就會了)
BB84協定是量子密碼中設計發送及接收安全金鑰的經典方法,我們用 Qiskit 搭建其基礎運作電路:
電路圖解釋
q 是量子位元線,c 是經典位元線。
紅色方塊H(Hadamard Gate):把量子位元推入「超級態」這代表測量時有一半機率得到0、一半機率得到1。
這個電路是量子金鑰匙分散(QKD)、量子密碼排列的核心流程。量子位元只要被測量就失去了多少性,強化量子密碼「竊聽必尋」的物理學。
在BB84或其他QKD實驗中,大量複製這個基本電路,可以實驗證明金鑰分配過程的安全性。
當遇 ImportError: cannot import name 'Aer'
時,先透過 Anaconda Prompt 重新安裝 Aer 相關套件:
bash
conda install -c conda-forge qiskit-aer
每次套件安裝後,務必重啟 Notebook kernel,避免舊有緩存影響。
(我到這部的時候發現是Notebook一直有紅字錯誤之後發現好像是虛擬機套件沒有裝好,但電腦沒有電了,所以等等再補截圖吧!)
Kyber 是 NIST 推薦的格基加密演算法,提供抗量子攻擊的公鑰加密方案。
使用 kyber-py
開源庫,在 Python 環境呼叫核心函數:
import kyber
public_key, private_key = kyber.generate_keypair()
ciphertext = kyber.encrypt(public_key, b"Hello PQC")
plaintext = kyber.decrypt(private_key, ciphertext)
print(plaintext)
這邊error是因為有些套件未安裝完整想要有完整密碼套件也可以去github下載
隨著科技步伐加快,量子電腦正在快速崛起,這代表我們現有大多數網際網路傳輸安全的基石——像是 RSA、ECC 等非對稱加密技術——正面臨前所未有的挑戰。量子電腦可以藉由 Shor 演算法在極短時間內破解這些加密系統。量子密碼並非簡單在傳統密碼上加強破解難度,而是從物理層面根本改革安全防護,利用量子力學的「疊加態」、「不可複製定理」及「測不準原理」。
其實我們今天只有練習到最基本的最基本,而且我也不太了解量子密碼後的真正佈局今天只是用虛擬機來測試跟古典密碼有何差別!
快進入鐵人賽尾聲了,後天(21開始)我們會寫一個專案架設網站(雖然是在本機端)但還是可以測試一些網路攻擊、資料庫攻擊及其他駭客可奪去在網站上的任何資料把前二十天的文全部總和一下!